home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1989-06-10 | 8.9 KB | 230 lines |
- 2 ' This programme is used to design SINGLE SPAN BEAMS
- 3 ' This programme uses Advanced Basic Language ( IBM - BASICA )
- 4 ' This programme is saved under the name [ COLUMNS ]
- 5 ' Prepared by AMJAD J. SHAIR 07/05/88 - 08/05/88
- 6 SCREEN 0,1 :WIDTH 40 :COLOR 15,1,0 :CLS :LOCATE 5
- 7 PRINT " AXIALLY LOADED COLUMNS Prepared by : AMJAD JAMIL EL-SHA'IR"
- 8 LOCATE 25,5 :PRINT "PRESS SPACE BAR TO CONTINUE ";
- 9 Y$=INKEY$ :IF Y$<>" " THEN 9
- 10 '-----------------------------------------------------------------Basic Data
- 20 SCREEN 0,1 :WIDTH 80 :COLOR 15,1,0
- 30 CLEAR
- 40 OPEN "DATA1" FOR INPUT AS #1
- 50 IF EOF(1) THEN CLOSE :GOTO 80
- 60 INPUT #1,PRJ$,BLD$,DSR$,FC,FY,FYS,QA
- 70 GOTO 50
- 80 PSX=0.04 ' Max. Ratio of Reinf'
- 90 PSM=0.01 ' Min. Ratio of Reinf'
- 100 '--------------------------- Beam Span ,Loading & Calculation of Reactions
- 105 CLS
- 110 LOCATE 2,15 :PRINT " ****** AXIALLY LOADED COLUMNS ******"
- 112 LOCATE 3,15 :PRINT " ****** BASED ON : ******"
- 115 LOCATE 4,15 :PRINT " ****** ACI-1983 CODE EQUATION ******"
- 120 PRINT
- 125 INPUT " ENTER COLUMN NUMBER C ",NMB
- 130 PRINT
- 135 INPUT " ENTER FLOOR LEVEL NAME ( GR. FLOOR, FIRST FLOOR .....) ",FLR$
- 140 PRINT
- 145 INPUT " ENTER ULTIMATE COLUMN LOAD Pu (ton) ",P
- 150 IF P>0 GOTO 175
- 155 PRINT :LOCATE ,6 :COLOR ,4 :BEEP
- 160 INPUT " !!!!! INVALID ULTIMATE COLUMN LOAD * RE-ENTER Pu !!!!!",P
- 165 COLOR ,1 :PRINT
- 170 IF P<=0 GOTO 7800
- 175 PRINT
- 240 PRINT " DO YOU WANT TO CHANGE THE ABOVE DATA (Y/N) ? ***";
- 245 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 245
- 250 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 10
- 255 IF Y$="N" OR Y$="n" THEN PRINT " NO "
- 300 GOSUB 6300
- 320 PRINT " COLUMN DIMENSINS STEEL As(req.) REINFORCEMENT As(prv.)"
- 330 PRINT " b x t ( cm ) RATIO (cm2) DETAILS (cm2) "
- 340 PRINT " ------------------ ------- -------- -------------- -------"
- 350 FOR RT = 0.04 TO 0.01 STEP -0.01
- 355 R=RT
- 360 GOSUB 9100
- 370 PRINT " "D" x "D" " R;TAB(38)AS TAB(51)NB;CHR$(237);DIA" mm "TAB(68)ASP
- 380 PRINT
- 390 NEXT
- 400 PRINT " NOTE : COLUMNS COULD BE SQUARE OR RECTANGULER "
- 410 PRINT
- 420 INPUT " ENTER THE COLUMN DIMENSION IN ANY DIRECTION b (cm) ",B
- 430 IF B>0 GOTO 490
- 440 PRINT :LOCATE ,6 :COLOR ,4 :BEEP
- 450 INPUT " !!!!! INVALID COLUMN DIMENSION * RE-ENTER b !!!!!",B
- 460 COLOR ,1 :PRINT
- 470 IF B<=0 GOTO 7800
- 490 INPUT " ENTER THE COLUMN DIMENSION IN THE OTHER DIRECTION t (cm) ",T
- 500 IF T>0 GOTO 550
- 510 PRINT :LOCATE ,6 :COLOR ,4 :BEEP
- 520 INPUT " !!!!! INVALID COLUMN DIMENTION * RE-ENTER t !!!!!",T
- 530 COLOR ,1 :PRINT
- 540 IF T<=0 GOTO 7800
- 550 GOSUB 6300
- 560 GOSUB 6400
- 580 PRINT " COLUMN DIMENSINS ( b x t ) : " B" x "T" cm"
- 590 PRINT
- 600 IF R<0.01 GOTO 650
- 610 PRINT " RATIO OF REINFORCEMENT : " R " > 0.01 "
- 620 PRINT
- 630 PRINT " REQUIRED AREA OF STEEL As(requ.) = "AS" cm2"
- 640 GOTO 680
- 650 PRINT " RATIO OF REINFORCEMENT : " R " < 0.01 "
- 660 PRINT
- 670 PRINT " MINIMUM AREA OF STEEL As( min.) = "AS" cm2"
- 680 PRINT
- 690 PRINT " USE [ "NB;CHR$(237);DIA" mm ]"
- 700 PRINT
- 710 PRINT " PROVIDED AREA OF STEEL As(prov.) = "ASP" cm2"
- 720 PRINT
- 800 PRINT " DO YOU WANT TO CHANGE THE COLUMN DIMENSIONS (Y/N) ? ";
- 810 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 810
- 820 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 300
- 830 IF Y$="N" OR Y$="n" THEN PRINT " NO "
- 840 PRINT
- 900 PRINT " DO YOU WANT TO MODIFY THE COLUMN REINFORCEMENT (Y/N) ? ";
- 910 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 910
- 920 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOSUB 6600 :GOSUB 6300 :GOTO 580
- 930 IF Y$="N" OR Y$="n" THEN PRINT " NO "
- 940 PRINT
- 1020 PRINT " DO YOU WANT THIS COLUMN DESIGN TO BE PRINTED (Y/N) ? ";
- 1030 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 1030
- 1040 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 1060
- 1050 IF Y$="N" OR Y$="n" THEN PRINT " NO " :GOTO 2000
- 1060 H$=STRING$(79,61)
- 1070 IF FY<=3000 THEN BRDA$=CHR$(239)+CHR$(8)+CHR$(47) ELSE BRDA$=CHR$(111)+CHR$(8)+CHR$(84)
- 1080 IF FYS<=3000 THEN BRDB$=CHR$(239)+CHR$(8)+CHR$(47) ELSE BRDB$=CHR$(111)+CHR$(8)+CHR$(84)
- 1082 PRINT
- 1085 PRINT " DO YOU WANT TO START PRINTING ON A NEW PAGE WITH HEADING (Y/N) ? ";
- 1090 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 1090
- 1095 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :LPRINT CHR$(12) :GOSUB 5000
- 1100 IF Y$="N" OR Y$="n" THEN PRINT " NO "
- 1110 LPRINT
- 1120 LPRINT CHR$(14) " COLUMN : C"NMB
- 1130 LPRINT
- 1140 LPRINT " COLUMN LOCATION : "FLR$
- 1160 LPRINT
- 1165 LPRINT " ULTIMATE COLUMN LOAD Pu = "P " ton "
- 1170 LPRINT
- 1180 LPRINT " COLUMN DIMENSINS b x t = " B" x "T" cm"
- 1190 LPRINT
- 1200 IF R<0.01 GOTO 1250
- 1210 LPRINT " RATIO OF REINFORCEMENT = " R " > 0.01 "
- 1220 LPRINT
- 1230 LPRINT " REQUIRED AREA OF STEEL As(requ) = "AS" cm2"
- 1240 GOTO 1280
- 1250 LPRINT " RATIO OF REINFORCEMENT p = " R " < 0.01 "
- 1260 LPRINT
- 1270 LPRINT " MINIMUM AREA OF STEEL As(min.) = "AS" cm2"
- 1280 LPRINT CHR$(27) "G"
- 1290 LPRINT " USE [ "NB;BRDA$;DIA " mm ] As (provided) ="ASP" cm2"
- 1300 LPRINT CHR$(27) "H"
- 1310 LPRINT H$
- 1320 LPRINT
- 2000 '-------------------------------------------------------End of Beam Design
- 2005 PRINT
- 2010 PRINT " DO YOU HAVE OTHER AXIALLY LOADED COLUMNS TO DESIGN (Y/N) ? ";
- 2020 Y$=INKEY$ :IF Y$<>"Y" AND Y$<>"y" AND Y$<>"N" AND Y$<>"n" THEN 2020
- 2022 IF Y$="Y" OR Y$="y" THEN PRINT " YES" :GOTO 10
- 2024 IF Y$="N" OR Y$="n" THEN PRINT " NO " :PRINT :PRINT " [ YOU WILL BE SEND BACK TO THE RCDESIGN MAIN MENU ] " :CHAIN "RCDESIGN",2500
- 2100 END '----------------------------------------------------- END OF RUNNING
- 4000 '************************ SUBROUTINES ********************************
- 5000 '---------------------------------------- SUBROUTINE To Print Page Heading
- 5010 LOCATE 25,20 :PRINT "Press SPACE BAR to Start Printing .... ";
- 5020 Y$=INKEY$ :IF Y$<>" " THEN 5010
- 5030 FOR VV=1 TO 250 :NEXT
- 5035 LPRINT CHR$(14)"Arabian Consulting Engineering Services"
- 5040 LPRINT "P. O. Box 146 Riyadh - Saudi Arabia"
- 5045 LPRINT H$
- 5050 LPRINT CHR$(14)" PROJECT: "PRJ$
- 5055 LPRINT
- 5060 LPRINT " BUILDING : "BLD$ TAB(58)"PAGE No.:"
- 5065 LPRINT " DESIGNED BY : "DSR$ TAB(31)"/ CHECKED BY : "TAB(58)"DATE : "DATE$
- 5070 LPRINT :LPRINT H$
- 5075 LPRINT " RCDESIGN PROGRAM PREPARED BY : Amjad J.El-Sha'ir, P.O.Box 926447 Amman-Jordan"
- 5080 LPRINT " THIS COPY TO BE USED ONLY BY : Arabian Consulting Engineering Services K.S.A"
- 5085 LPRINT H$
- 5100 LPRINT CHR$(14) " AXIALLY LOADED COLUMN DESIGN"
- 5110 LPRINT H$ :LPRINT
- 5120 LPRINT CHR$(27)"G";
- 5130 LPRINT " ** CONCRETE & STEEL PROPERTIES ** "
- 5140 LPRINT CHR$(27)"H";" --------------------------------- "
- 5150 LPRINT " - Concrete Crushing Strength f'c ="FC" kg/cm2 "
- 5160 LPRINT " - Reinf' Steel Yield Stress fy ="FY" kg/cm2 "
- 5170 LPRINT H$ :LPRINT
- 5175 LPRINT " ACI- Code Equation for Axially Loaded Columns with Tie Reinf."
- 5180 LPRINT CHR$(27)"G"
- 5190 LPRINT " Pu x 1000 = 0.8 x 0.7 [ .85 f'c x (Ag - Ast) + fy x Ast ]
- 5200 LPRINT CHR$(27)"H"
- 5205 LPRINT " Pu = Ultimate Column Load (ton)"
- 5210 LPRINT " Ag = Gross Arae of Concrete Section (cm2)"
- 5230 LPRINT " Ast = Total Area of Longitudinal Reinforcement. (cm2)"
- 5270 LPRINT H$
- 5300 RETURN
- 6300 '------------------------------------------ SUBROUTINE To Display Heading
- 6310 CLS:LOCATE 2,12 : COLOR 15,5
- 6320 PRINT " **** AXIALY LOADED COLUMN * C"NMB" ****" TAB(68)""
- 6325 PRINT
- 6330 LOCATE ,12 :PRINT " FLOOR LEVEL : "FLR$ TAB(68)""
- 6335 PRINT
- 6340 LOCATE ,12 :PRINT " Concrete Crushing Strength f'c = "FC" kg/cm2 " TAB(68)""
- 6350 LOCATE ,12 :PRINT " Reinf' Steel Yield Stress fy ="FY" kg/cm2 " TAB(68)""
- 6360 LOCATE ,12 :PRINT " Ultimate Column Load Pu ="P " ton " TAB(68)""
- 6370 COLOR 15,1 :PRINT
- 6380 RETURN
- 6400 '------ SUBROUTINE To Find The Column Reinforcement for a given Dimensions
- 6410 AS=(P*1000/0.56-0.85*FC*B*T)/(FY-0.85*FC)
- 6411 R=AS/(B*T)
- 6412 IF R<=0.04 GOTO 6420
- 6413 PRINT :LOCATE ,6 :COLOR ,4 :BEEP
- 6415 PRINT " **** INVALID COLUMN DIMENSIONS ( STEEL RATIO > 4% ) **** "
- 6416 COLOR ,1 :PRINT :GOTO 800
- 6420 IF R<=0.01 THEN AS=0.01*B*T :GOTO 6450
- 6440 AS=R*B*T
- 6450 NB=CINT(B/10)*2+CINT(T/10)*2-4
- 6460 IF NB<4 THEN NB=4
- 6470 DIA=2+2*INT(SQR(4*100*AS*0.95/(3.14159*NB))/2)
- 6480 IF DIA<10 THEN DIA=10
- 6490 IF DIA<24 GOTO 6520
- 6500 DIA=25
- 6510 NB=2+2*INT(AS*0.95/(4.908*2))
- 6520 ASP=NB*3.14159*(DIA/10)^2/4
- 6530 ASP=(CINT(ASP*100))/100
- 6540 AS=CINT(AS*100)/100
- 6550 R=CINT(R*1000)/1000
- 6560 RETURN
- 6600 '-------------------------- SUBROUTINE To Modify the Column Reinforcement
- 6610 PRINT
- 6620 PRINT " ENTER <N> to choose the req. Number of Bars or <D> to choose the Diameter ";
- 6630 CH$=INKEY$ :IF CH$<>"D" AND CH$<>"d" AND CH$<>"N" AND CH$<>"n" THEN 6630
- 6640 IF CH$="D" OR CH$="d" THEN PRINT " D" :GOTO 6720 ELSE PRINT " N"
- 6650 INPUT " ENTER the required Number of Steel Bars to be used : ",NB
- 6655 IF NB< 4 THEN NB=4
- 6660 DIA=2+2*INT(SQR(4*100*AS*0.95/(3.14159*NB))/2)
- 6670 IF DIA<10 THEN DIA=10
- 6680 IF DIA<24 GOTO 6710
- 6690 DIA=25
- 6700 NB=2+2*INT(AS*0.95/(4.908*2))
- 6710 GOTO 6770
- 6720 INPUT " ENTER the required Diameter of Steel Bars to be used : ",DIA
- 6730 IF DIA<10 THEN DIA=10
- 6740 NB=2+2*INT(AS*0.95*400/(2*3.14159*DIA^2))
- 6750 IF NB< 4 THEN NB=4
- 6770 ASP=NB*3.14159*(DIA/10)^2/4
- 6780 ASP=CINT(ASP*100)/100
- 6790 RETURN
- 7800 '------------------------------------------------- Display Invalid Entries
- 7810 PRINT :LOCATE ,6 :COLOR ,4 : BEEP
- 7820 PRINT " *** YOU WERE GIVEN TWO CHANCES TO ENTER , BUT YOU FAILED *** "TAB(72)"" :COLOR ,1
- 7830 PRINT :LOCATE ,6 :COLOR ,4
- 7840 PRINT " *** ENTER Y TO REDO THIS BEAM OR TO GO FOR OTHER BEAMS *** "TAB(72)"" :COLOR ,1
- 7850 PRINT
- 7860 GOTO 2000
- 7870 RETURN
- 9100 '---------------------- SUBROUTINE To Find The Column Dimensions & Reinf' for a given steel ratio
- 9110 A=P*1000/(0.56*(0.85*FC-0.85*FC*R+R*FY))
- 9120 D=INT(SQR(A))+1
- 9130 B=D :T=D
- 9140 GOSUB 6400
- 9200 RETURN
-